// 这种写法每个实例上都会生成一个不同的foo方法，性能不好
var fn1 = function () {
  this.foo = function () {
    console.log(11111)
  }
}
let f1 = new fn1()
let f2 = new fn1()
console.log(f1.foo === f2.foo)

// 这种写法每个实例上的foo方法都指向原型上的同一个方法，性能比较好
var fn2 = function () {}
fn2.prototype.foo = function () {
  console.log(11111)
}
let f3 = new fn2()
let f4= new fn2()
console.log(f3.foo === f4.foo)
console.log(f3.foo === fn2.prototype.foo)

